package pe.reproduccion;

import pe.cromosoma.Cromosoma;


public class cruceMonopunto extends Cruce{
	public Cromosoma[] cruce(Cromosoma padre1, Cromosoma padre2, int punto_cruce){
		int l = padre1.getLong_cromo();
		boolean[] genes1 = new boolean[l];
		boolean[] genes2 = new boolean[l];
		// primera parte del intercambio: 1 a 1 y 2 a 2
		for (int i =0; i<punto_cruce;i++){
			genes1[i]=padre1.getGenes()[i];
			genes2[i]=padre2.getGenes()[i];
		}
		for (int i = punto_cruce; i<l;i++){
			genes1[i]=padre2.getGenes()[i];
			genes2[i]=padre1.getGenes()[i];
		}
		
		padre1.setGenes(genes1);
		padre2.setGenes(genes2);
		
		padre1.setAptitud(padre1.evalua());
		padre2.setAptitud(padre2.evalua());
		
		Cromosoma[] resultado = new Cromosoma[2];
		resultado[0]=padre1;
		resultado[1]=padre2;
		
		return resultado;
	}
}
